package com.bosssoft.trainee.entity.po;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;

/**
 * @author liuqiang
 * @date 2022/7/4 9:54
 */
@Data
@TableName("sys_role")
public class Role {
    /**
     * 主键id
     * type = IdType.AUTO实现自增
     */
    @TableId(type = IdType.AUTO)
    private Integer roleId;

    /**
     * 角色编号
     */
    @NotBlank
    private String roleCode;

    /**
     * 角色名称
     */
    @NotBlank(message = "角色名不能为空")
    private String roleName;

    /**
     * 更新人id
     */
    private Integer updateId;

    /**
     * 创建时间
     * FieldFill.INSERT设置在插入时填充
     */
    @TableField(value = "gmt_create", fill = FieldFill.INSERT)
    private LocalDateTime gmtCreate;

    /**
     * 更新时间
     * FieldFill.INSERT_UPDATE设置在插入和更新时填充
     */
    @TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime gmtModified;

    /**
     * 版本 实现乐观锁需要添加@Version注解
     * FieldFill.INSERT设置在插入时填充
     */
    @Version
    @TableField(fill = FieldFill.INSERT)
    private Integer version;

    /**
     * 状态位
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer status;
}
